using System;
using System.Collections.Generic;
using System.Text;
using Unitins.Component.PersistenceLayer;
using Unitins.Component.ComponentMaster;

namespace Unitins.Component.Repository.Sepsi
{
    [Serializable]
    public class PacienteDisponibilidade : IObject<PacienteDisponibilidade>
    {
        #region Fields

        private Int64 idPacienteDisponibilidade;
        private Int64 idPaciente;
        private Int32 diaSemana;
        private Boolean manha;
        private Boolean tarde;
        private Boolean noite;

        #endregion Fields

        #region Properties

        public Int64 IdPacienteDisponibilidade
        {
            get { return idPacienteDisponibilidade; }
            set { idPacienteDisponibilidade = value; }
        }

        public Int64 IdPaciente
        {
            get { return idPaciente; }
            set { idPaciente = value; }
        }

        public Int32 DiaSemana
        {
            get { return diaSemana; }
            set { diaSemana = value; }
        }

        public Boolean Manha
        {
            get { return manha; }
            set { manha = value; }
        }

        public Boolean Tarde
        {
            get { return tarde; }
            set { tarde = value; }
        }

        public Boolean Noite
        {
            get { return noite; }
            set { noite = value; }
        }

        #endregion Properties

        #region Constructor

        public PacienteDisponibilidade()
        {
        }

        public PacienteDisponibilidade(Int64 idPacienteDisponibilidade, Int64 idPaciente, Int32 diaSemana, Boolean manha, Boolean tarde, Boolean noite)
        {
            this.IdPacienteDisponibilidade = idPacienteDisponibilidade;
            this.IdPaciente = idPaciente;
            this.DiaSemana = diaSemana;
            this.Manha = manha;
            this.Tarde = tarde;
            this.Noite = noite;
        }

        #endregion Constructors

        #region Methods Overrides

        public String GetToString()
        {
            return
            (
                "{IdPacienteDisponibilidade : " + this.IdPacienteDisponibilidade + "} " + Environment.NewLine +
                "{IdPaciente : " + this.IdPaciente + "} " + Environment.NewLine +
                "{DiaSemana : " + this.DiaSemana + "} " + Environment.NewLine +
                "{Manha : " + this.Manha + "} " + Environment.NewLine +
                "{Tarde : " + this.Tarde + "} " + Environment.NewLine +
                "{Noite : " + this.Noite + "} " + Environment.NewLine +
                ""
             );
        }

        public object Clone()
        {
            PacienteDisponibilidade objPacienteDisponibilidade = new PacienteDisponibilidade();

            objPacienteDisponibilidade.IdPacienteDisponibilidade = this.IdPacienteDisponibilidade;
            objPacienteDisponibilidade.IdPaciente = this.IdPaciente;
            objPacienteDisponibilidade.DiaSemana = this.DiaSemana;
            objPacienteDisponibilidade.Manha = this.Manha;
            objPacienteDisponibilidade.Tarde = this.Tarde;
            objPacienteDisponibilidade.Noite = this.Noite;

            return objPacienteDisponibilidade;
        }

        #endregion Methods Overrides

    }

    public enum PacienteDisponibilidadeAttribute
    {
        IdPacienteDisponibilidade = 0,
        IdPaciente = 1,
        DiaSemana = 2,
        Manha = 3,
        Tarde = 4,
        Noite = 5,
    }
}
